package org.example.mrrope.service;

import org.example.mrrope.utils.DingUtil;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Objects;

@Service
public class PurchaseReceivingService {

    @Autowired
    DingUtil dingUtil;
    /**
     * 重新入库
     * @return
     */
    public String restock(String poId,String tabName,Integer groupId) throws Exception {
        //查询主表
        String jsonBo = dingUtil.getYidaById(poId);
        JSONObject object = new JSONObject(jsonBo);
        JSONArray jsonZb = dingUtil.getInnerTables(poId, "FORM-434F54618CD44D8C9A220DA804F86FEEANNV", tabName);
        JSONObject jsonObject = jsonZb.getJSONObject(groupId);
        //新增且更新
        JSONObject upJo = new JSONObject();
        JSONObject upJoB = new JSONObject();
        upJo.put("textField_m3zqxd7q", object.has("textField_lv5fbxke")?object.get("textField_lv5fbxke"):"");//SO
        upJo.put("textField_m3zqxd7r", object.has("textField_lv5fbxkd")?object.get("textField_lv5fbxkd"):"");//Po
        upJo.put("textField_m8s85xgk", object.has("textField_lz22p8e9")?object.get("textField_lz22p8e9"):"");//客户名称
        upJo.put("textField_m482rh8x", object.has("serialNumberField_lup0qelf")?object.get("serialNumberField_lup0qelf"):"");//流水号
        upJo.put("textField_m8zbkboo", object.has("selectField_lv6awi4x")?object.get("selectField_lv6awi4x"):"");//库位
//        upJo.put("textField_m8zbkbpg", object.has("")?jsonObject.getString(""):"");//类型
        if (Objects.equals(tabName, "tableField_lup0qelv")){
            upJo.put("textField_m3zqxd7s", jsonObject.has("textField_lup0qelz")?jsonObject.get("textField_lup0qelz"):"");//SKU
            upJo.put("textField_m8zbkbph", jsonObject.has("textField_lup0qely")?jsonObject.get("textField_lup0qely"):"");//物料名称
            upJo.put("numberField_m3zqxd7t", jsonObject.has("numberField_lv239awm")?jsonObject.get("numberField_lv239awm"):null);//入库数量
            upJo.put("textField_m8zbkbom", jsonObject.has("textField_lz22p8ed")?jsonObject.get("textField_lz22p8ed"):null);//数量单位
            upJo.put("numberField_m8zbkbol", jsonObject.has("numberField_lz22p8ea")?jsonObject.get("numberField_lz22p8ea"):null);//入库件数
            upJo.put("textField_m8zbkbon", jsonObject.has("textField_lz22p8ec")?jsonObject.get("textField_lz22p8ec"):null);//件数单位
            upJo.put("textField_m8zbkbop", jsonObject.has("selectField_lv6awi4y")?jsonObject.get("selectField_lv6awi4y"):"");//仓位
//            upJo.put("imageField_m8zbkboq", jsonObject.has("imageField_lz25fxtl")?jsonObject.getString("imageField_lz25fxtl"):"");//图片
            upJo.put("textareaField_m8zbkbp6", jsonObject.has("textField_lup0qem2")?jsonObject.get("textField_lup0qem2"):"");//规格型号
            double dj = 0;//单价
            if (jsonObject.has("numberField_lv6campa")){
                dj = jsonObject.getDouble("numberField_lv6campa");
            }
            double cgsl = 0; //采购数量
            if (jsonObject.has("numberField_lv6campb")){
                cgsl = jsonObject.getDouble("numberField_lv6campb");
            }
            upJo.put("numberField_m8zbkbp7", dj);//单价
                upJo.put("numberField_m8zbkbp8", cgsl);//总价
            upJo.put("textField_m8zbkbpf", jsonObject.has("textField_lx03azvw")?jsonObject.get("textField_lx03azvw"):"");//供应商
        }
        if (Objects.equals(tabName, "tableField_m24mjsio")) { //采购订单
            upJo.put("textField_m3zqxd7s", jsonObject.has("textField_m24mjsip")?jsonObject.get("textField_m24mjsip"):"");//SKU
            upJo.put("textField_m8zbkbph", jsonObject.has("textField_m24mjsi5")?jsonObject.get("textField_m24mjsi5"):"");//物料名称
            upJo.put("numberField_m3zqxd7t", jsonObject.has("numberField_m24mjsij")?jsonObject.get("numberField_m24mjsij"):null);//入库数量
            upJo.put("textField_m8zbkbom", jsonObject.has("textField_m24mjsik")?jsonObject.get("textField_m24mjsik"):null);//数量单位
            upJo.put("numberField_m8zbkbol", jsonObject.has("numberField_m24mjsil")?jsonObject.get("numberField_m24mjsil"):null);//入库件数
            upJo.put("textField_m8zbkbon", jsonObject.has("textField_m24mjsim")?jsonObject.get("textField_m24mjsim"):null);//件数单位
            upJo.put("textField_m8zbkbop", jsonObject.has("selectField_m24mjsie")?jsonObject.get("selectField_m24mjsie"):"");//仓位
//            upJo.put("imageField_m8zbkboq", jsonObject.has("imageField_m24mjsid")?jsonObject.getString("imageField_m24mjsid"):"");//图片
            upJo.put("textareaField_m8zbkbp6", jsonObject.has("textField_m24mjsi9")?jsonObject.get("textField_m24mjsi9"):"");//规格型号
            upJo.put("numberField_m8zbkbp7", jsonObject.has("textField_m24mjsih")?jsonObject.get("textField_m24mjsih"):null);//单价
//            upJo.put("numberField_m8zbkbp8", jsonObject.has("")?jsonObject.getString(""):"");//总价
            upJo.put("textField_m8zbkbpf", jsonObject.has("textField_m24mjsin")?jsonObject.get("textField_m24mjsin"):"");//供应商
        }
//        aa = dingUtil.startInstance(upJsonE, userId, "FORM-60D29097D35645ADB37399403F519442QIQB");
//        log.info("YIDA-startInstance 生成流程完成" + aa);
        dingUtil.saveYiDa("FORM-F4D2BCAF03134CAEAEB4B34CD9123163OAAP", upJo, "02216664383638207271");
//        String yiDaUpdateReturnData = dingUtil.startInstance(upJoB, "02216664383638207271", "FORM-F4D2BCAF03134CAEAEB4B34CD9123163OAAP");


        //判断是否有当前物料
//        JSONObject searchScheduleJson = new JSONObject();
//        searchScheduleJson.put("textField_luga5zz1",   "");//so号
//        searchScheduleJson.put("textField_lwt597ig", "");//SKU 物料编码
//        searchScheduleJson.put("textField_lwt597ig", "");//库位
//        searchScheduleJson.put("textField_lwt597ig", "");//仓库
//        searchScheduleJson.put("textField_lwt597ig", "");//件数单位
//        searchScheduleJson.put("textField_lwt597ig", "");//数量单位
//        String yiDaSearchReturnData_Schedule = dingUtil.yiDaSearchReturnData("FORM-838E6090DF6C4989B6619E9142D87D5AR4JM", searchScheduleJson);//获取包装派工单数据
//        JSONArray yiDaSearchReturnData_ScheduleJsonArray = new JSONArray(yiDaSearchReturnData_Schedule);
//        //-------------------------------更新库存管理------------------------------
//        if (!yiDaSearchReturnData_ScheduleJsonArray.isEmpty()) {
//            //如果有该库存就更新
//            String oid = yiDaSearchReturnData_ScheduleJsonArray.getJSONObject(0).getString("formInstanceId");
//            JSONObject zsObject = new JSONObject(dingUtil.getYidaById(oid));//库存数据
//        }else{
//            //新增
//            JSONObject zsObject = new JSONObject();
//
//        }
            return "purchaseReceiving";

    }
}
